The current state-of-the-art for video encoding is the ITU-T H.264/AVC video coding standard. It defines a number of different profiles for different applications, including the Main profile, Baseline profile and others.
There are a number of standards for encoding/decoding images and videos, including H.264/AVC, that use block-based coding processes. In these processes, the image or frame is divided into blocks, typically 4×4 or 8×8, and the blocks are spectrally transformed into transform domain coefficients. The transform domain coefficients are then quantized and entropy encoded. In many cases, the data being transformed is not the actual pixel data, but is residual data following a prediction operation. Predictions can be intra-frame, i.e. block-to-block within the frame/image, or inter-frame, i.e. between frames (also called motion prediction).
Rate-distortion (R-D) optimization is used to improve coding performance. Rate-distortion optimization processes have focused upon selecting a coding mode, motion vector and/or quantization step size that minimizes a rate-distortion cost expression.
At the decoder, a received bitstream that relates to inter-coded video is entropy decoded, dequantized, and inverse transformed to create reconstructed residual data. Motion vectors recovered from the decoded bitstream are used to generate a prediction from previously reconstructed frames stored in a frame store. The residual data is then combined with the prediction to produce a reconstructed frame. The reconstructed frame is then deblocked by the decoder and output as video data. The deblocking process is computationally demanding and, in some instances, it accounts for up to one-third of the processing involved in decoding.
It would be advantageous to provide for an improved encoder and methods or processes for encoding that improve R-D performance and/or alleviate some of the computational demands upon the decoder.
Similar reference numerals may have been used in different figures to denote similar components.